import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    cartList:[]
  },
  mutations: {
    add(state,cont){
      let flag=true;
     state.cartList.map(item=>{
       if(item.goods.productId==cont.productId){
         item.num++
         flag=false
       }
     })
     if(flag){
       state.cartList.push({
         goods:cont,
         num:1,
         choose:false
       })
     }
    },
    allChecked(state,newVal){
      state.cartList.map(item=>{
        item.choose=newVal
      })
    },
    del(state,index){
      state.cartList.splice(index,1)
    }
  },
  
  actions: {
    add(context,cont){
      context.commit('add',cont)
    },
    allChecked(context,newVal){
      context.commit('allChecked',newVal)
    },
    del(context,index){
      context.commit('del',index)
    }
  },
  getters:{
    total(state){
      var price=0
      state.cartList.map(item=>{
        if(item.choose==true){
          price+=item.num*item.goods.salePrice
        }
        console.log(item.goods.salePrice);
      })
      return price
    }
  },
  modules: {
  }
})
